Populate a page unconditionally to avoid missing a page-in request.
If the page is already in the process of being paged-in, the this vcpu
will be stopped and later resumed once the page content is usable
again.
This matches other p2m_mem_paging_populate usage in the source tree.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
if ( p2m_is_valid(p2mt) ) {
*frame = mfn_x(mfn);
- if ( p2m_is_paged(p2mt) )
- p2m_mem_paging_populate(p2m, gfn);
if ( p2m_is_paging(p2mt) )
+ {
+ p2m_mem_paging_populate(p2m, gfn);
rc = GNTST_eagain;
+ }
} else {
*frame = INVALID_MFN;
rc = GNTST_bad_page;